import { NgModule }      from '@angular/core';
import { CommonModule }  from '@angular/common';
import { ModalModule } from 'ng2-bootstrap/ng2-bootstrap';
import { Ng2UploaderModule } from 'ng2-uploader/ng2-uploader';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { CKEditorModule } from 'ng2-ckeditor';

import { NgaModule } from 'app/theme/nga.module';
import { AssociationRoutingModule } from './association.routing';
import { Association } from './association.component';

import {
  UserRegApprComponent,
  CompanyRegApprComponent,
  ExamRegApprComponent,
  CertRenewApprComponent,
  CertReissueApprComponent,
  UserinfoModifyApprComponent,
  CompanyChangeApprComponent,
  CompMoveApprComponent,
  CertIssueApprComponent,
  ScoreInputComponent,
  CompinfoModifyApprComponent
} from './apply';

import {
  AssoCertManComponent,
  NotificationComponent,
  NotificationListComponent,
  NotificationAddComponent,
  NotificationAddService,
  NotificationListService,
  FilUploaderComponent
} from './info-record';

import { PublishManComponent } from './publish';

import { CompanyRegApprService, UserRegApprService, ScoreInputService } from './apply';


@NgModule({
  imports: [
    CommonModule,
    NgaModule,
    FormsModule,
    ReactiveFormsModule,
    ModalModule,
    AssociationRoutingModule,
    CKEditorModule
  ],
  declarations: [
    Association,
    UserRegApprComponent,
    CompanyRegApprComponent,
    ExamRegApprComponent,
    CertRenewApprComponent,
    CertReissueApprComponent,
    UserinfoModifyApprComponent,
    CompinfoModifyApprComponent,
    CompanyChangeApprComponent,
    CompMoveApprComponent,
    CertIssueApprComponent,
    PublishManComponent,
    ScoreInputComponent,
    AssoCertManComponent,
    NotificationComponent,
    NotificationListComponent,
    NotificationAddComponent,
    FilUploaderComponent
  ],
  providers: [
    CompanyRegApprService,
    UserRegApprService,
    ScoreInputService,
    NotificationAddService,
    NotificationListService
  ]
})
export class AssociationModule {
}
